using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Diagnostics;using System.Drawing;using System.Linq;using System.Runtime.InteropServices;using System.Text;using System.Threading.Tasks;using System.Windows.Forms;namespace WindowsSi{ public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { try { using (Process process = new Process()) { Application.ExitThread(); Application.Exit(); Application.Restart(); process.WaitForExit();//等待退出 process.Close();//关闭进程 Process.GetCurrentProcess().Kill(); //this.Close(); } } catch { } //Application.ExitThread(); //Application.Exit(); //Application.Restart(); //Process.GetCurrentProcess().Kill(); } private void Form1_Load(object sender, EventArgs e) { //System.Diagnostics.Process process = new System.Diagnostics.Process(); //process.StartInfo.FileName = @"cmd.exe"; //System.Diagnostics.Process.Start("cmd.exe"); //System.Diagnostics.Process.Start(@"cmd.exe").WaitForExit(10); this.FormClosing = Form1_FormClosing; // Process[] app = Process.GetProcessesByName("cmd"); //if (app.Length > 0) //{ // MessageBox.Show("请关闭已经启动的程序后再进行尝试"); // return; //} //else //{ // // // System.Diagnostics.Process.Start("cmd.exe"); //} //process.Start(); } private void Form1_FormClosing(object sender, FormClosingEventArgs e) { //MessageBox.Show("是否关闭窗体电脑会重新启动"); } public void Exec(string str) { try { using (Process process = new Process()) { //process.StartInfo.FileName = "cmd.exe";//调用cmd.exe程序 process.StartInfo.UseShellExecute = false; process.StartInfo.RedirectStandardInput = true;//重定向标准输入 process.StartInfo.RedirectStandardOutput = true;//重定向标准输出 process.StartInfo.RedirectStandardError = true;//重定向标准出错 process.StartInfo.CreateNoWindow = true;//不显示黑窗口 process.Start();//开始调用执行 process.StandardInput.WriteLine(str "&exit");//标准输入str "&exit",相等于在cmd黑窗口输入str "&exit" process.StandardInput.AutoFlush = true;//刷新缓冲流,执行缓冲区的命令,相当于输入命令之后回车执行 process.WaitForExit();//等待退出 process.Close();//关闭进程 } } catch { } } //执行关机操作 public void Shutdown() { this.Exec("shutdown -s -f -t 0"); } private void btn_count_Click(object sender, EventArgs e) { for (int i = 1; i <= 100; i ) { textBox1.Text = i.ToString(); Application.DoEvents(); this.btn_count.Value = i; System.Threading.Thread.Sleep(300); this.label1.Text = i.ToString(); } } }}
评论